/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.viators.actions;

import com.viators.beans.*;
import com.viators.model.*;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author mvalentin
 */
public class ConductorAction extends org.apache.struts.actions.DispatchAction {

    private static final Logger logger = Logger.getLogger(ConductorAction.class);

    public ActionForward cargarConductor(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

     
        GestionConductor gc = new GestionConductor();
        GestionVehiculo gv = new GestionVehiculo();
        request.setAttribute("listaPaises", gc.listarPais());
        request.setAttribute("listaPaisesSuda", gc.listarPais(2));
        request.setAttribute("listaDocumentos", gc.listarDocumentos());
        request.setAttribute("listaEstados", gc.listarEstados());
        request.setAttribute("listaTipoVehiculo",gv.listarTipoVehiculo());
        //request.setAttribute("nlipa_codigo",gc.generarMaximoLista() + 1);

        //esto ya lo hacve un metodo JS que
        //llama el metodo cargarListaNueva(...)

       // Sisma_listapasajerosBean listapasajeros = gc.generarIdNuevo();
        request.setAttribute("nlipa_codigo", "-1");
        request.setAttribute("clipa_autogenerado", "-1");
        return mapping.findForward("principal");
   }

    /***
     * Carar datos para una nueva lista cada vez que pulso el boton nueva lista luego del capcha
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
     public ActionForward cargarListaNueva(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        logger.info("creando nueva session");
        request.getSession().invalidate();
        request.getSession(true);
        request.getSession().setAttribute("listaPasajero", new ArrayList<ListaNueva>());

        GestionConductor gc = new GestionConductor();
        GestionVehiculo gv = new GestionVehiculo();
        request.setAttribute("listaPaises", gc.listarPais());
        request.setAttribute("listaDocumentos", gc.listarDocumentos());
        request.setAttribute("listaEstados", gc.listarEstados());
        request.setAttribute("listaTipoVehiculo",gv.listarTipoVehiculo());
        //request.setAttribute("nlipa_codigo",gc.generarMaximoLista() + 1);
        
        Sisma_listapasajerosBean listapasajeros = gc.generarIdNuevo();
        logger.debug("poninendo en request lipa autogenerado");
        request.setAttribute("nlipa_codigo",listapasajeros.getNlipa_codigo());
        logger.debug("Nlipa_codigo = "+listapasajeros.getNlipa_codigo());
        request.setAttribute("clipa_autogenerado",listapasajeros.getClipa_autogenerado());
        logger.debug("clipa_autogenerado = "+listapasajeros.getClipa_autogenerado());
        return mapping.findForward("datoslista");
   }


    public ActionForward guardarConductor(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        Sisma_personaActionForm spaf = (Sisma_personaActionForm)form;
        GestionConductor gc = new GestionConductor();
        GestionPasajero gp  = new GestionPasajero();
        boolean flag = false;
        logger.debug( spaf.getAccion());
        if(spaf.getAccion().equals("nuevo")){
            spaf.setNpers_codigo(gc.generarCodigoConductor() + 1);
        }
        if(gc.insertarConductor(spaf,spaf.getAccion())==true &&
           gc.insertarNroDoc(spaf,spaf.getAccion())   ==true &&
           gp.insertarPasajero(spaf,2,spaf.getAccion())==true){
            flag = true;
        }else{
            flag = false;
        }
        
        request.setAttribute("validador", flag);
        request.setAttribute("mensaje", "");
        return mapping.findForward("validar");
    }

}
